package com.haotian.redis.base;

import com.haotian.redis.pool.RedisSentinelAndBasicPool;

import redis.clients.jedis.Jedis;

/**
 * Jedis 客户端的一些通用操作
 * 
 * 本类只适用于基于 {@link redis.clients.util.Pool } 开发的类 返回Jedis 实例 请对号入座；
 * 
 * @author 张昊天 2017年9月28日
 */
public class RedisSentinelAndSimpleBase {

	protected RedisSentinelAndSimpleBase() {
	}

	protected RedisSentinelAndBasicPool pool = null;

	public Jedis getJedis() {
		return pool.getJedis();
	}

	/**
	 * 检查Redis 连通性
	 * 
	 * @return
	 */
	public final boolean ping() {
		try (Jedis jedis = getJedis()) {
			String ping = jedis.ping();
			if ("PONG".equals(ping)) {
				return true;
			}
		} catch (Exception e) {
		}
		return false;
	}

	/**
	 * 查看redis里有多少数据
	 */
	public final long dbSize() {
		try (Jedis jedis = getJedis();) {
			return jedis.dbSize();
		}
	}

	/**
	 * 清空redis 所有数据
	 * 
	 * @return
	 */
	public final String flushDB() {
		try (Jedis jedis = getJedis();) {
			return jedis.flushDB();
		}
	}

}
